#ifndef COMPARTIR_H_
#define COMPARTIR_H_

#include	<vector>
using namespace std;

class Compartir {

	public:

		void compartir(string archivo) {

			MemoriaCompartida<DatosCompartidos> memoria;

			int estadoMemoria = memoria.crear ( (char*) "/home/cristian/facu/Concurrentes/ahoraconcu/TextoTPC1.pdf",'R' );

			if ( estadoMemoria == SHM_OK ) {
				cout << "Empieza hijo compartir"<< endl;
				//DatosCompartidos datos = memoria.leer();
				memoria.leer().agregarArchivo(archivo);
				//datos.agregarArchivo(archivo);
				//memoria.escribir(datos);

				memoria.liberar();

				//cout << "cantidad de archivos" << datos.obtenerArchivos().size() << endl;
				cout << "Termina hijo compartir"<< endl;
			} else {
				cout << "Error en memoria compartida (hijo compatir): " << estadoMemoria << endl;
			}
		}

		std::vector<string> listar() {
			MemoriaCompartida<DatosCompartidos> memoria;

			int estadoMemoria = memoria.crear ( (char*) "/home/cristian/facu/Concurrentes/ahoraconcu/TextoTPC1.pdf",'R' );

			if ( estadoMemoria == SHM_OK ) {
				cout << "Empieza hijo listar"<< endl;
				DatosCompartidos datos = memoria.leer();
				cout << "xxxxx"<< endl;
				memoria.liberar();
				cout << "Termina hijo listar"<< endl;
				return datos.obtenerArchivos();
			} else {
				cout << "Error en memoria compartida (hijo listar): " << estadoMemoria << endl;
			}
			cout << "Se devulve NULL" << endl;
			DatosCompartidos datos;
			return datos.obtenerArchivos();
		}
};


#endif /* COMPARTIR_H_ */
